

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HRuleExampleDirect(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HRuleExampleDirect.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HRuleExampleDirect, self).__init__(name='HRuleExampleDirect', num_nodes=22, edges=[])
        
        # Add the edges
        self.add_edges([(13, 6), (6, 0), (12, 7), (7, 4), (3, 14), (14, 10), (3, 15), (15, 5), (3, 16), (16, 11), (3, 17), (17, 2), (21, 0), (10, 8), (8, 5), (11, 9), (9, 2), (1, 18), (1, 19), (1, 20), (1, 21), (18, 12), (19, 4), (20, 13)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """RuleExampleDirect"""
        self["GUID__"] = UUID('11efff49-b462-4616-a32b-ffc0f93765aa')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """Female_S"""
        self.vs[0]["classtype"] = """female"""
        self.vs[0]["name"] = """fm1"""
        self.vs[0]["GUID__"] = UUID('4ca797cf-2fcd-4bdc-a9e2-af9035012b66')
        self.vs[1]["mm__"] = """MatchModel"""
        self.vs[1]["GUID__"] = UUID('5ba5963b-dda7-4e84-a6fa-8e8b35a109c8')
        self.vs[2]["mm__"] = """Female_T"""
        self.vs[2]["classtype"] = """female"""
        self.vs[2]["name"] = """fa1"""
        self.vs[2]["GUID__"] = UUID('c211ff2b-7b85-4799-9248-69550a938d2b')
        self.vs[3]["mm__"] = """ApplyModel"""
        self.vs[3]["GUID__"] = UUID('97f55b42-df4d-48a6-8e69-28a7f943301d')
        self.vs[4]["mm__"] = """Male_S"""
        self.vs[4]["classtype"] = """male"""
        self.vs[4]["name"] = """mm1"""
        self.vs[4]["GUID__"] = UUID('c164f3df-2809-4a96-a41e-f898a0928c8b')
        self.vs[5]["mm__"] = """Male_T"""
        self.vs[5]["classtype"] = """male"""
        self.vs[5]["name"] = """ma1"""
        self.vs[5]["GUID__"] = UUID('f2ba79ea-cff6-40ec-9a91-8d815c8a99a5')
        self.vs[6]["mm__"] = """directLink_S"""
        self.vs[6]["associationType"] = """t_"""
        self.vs[6]["GUID__"] = UUID('78c726d9-b8f3-4514-84ac-fa550a61f223')
        self.vs[7]["mm__"] = """directLink_S"""
        self.vs[7]["associationType"] = """t_"""
        self.vs[7]["GUID__"] = UUID('b4a772f9-0f55-466a-a9cb-1d692faa2e42')
        self.vs[8]["mm__"] = """directLink_T"""
        self.vs[8]["associationType"] = """t_"""
        self.vs[8]["GUID__"] = UUID('506bd29e-e209-4c47-a28a-a399d547f9f5')
        self.vs[9]["mm__"] = """directLink_T"""
        self.vs[9]["associationType"] = """t_"""
        self.vs[9]["GUID__"] = UUID('28f954ae-5023-4d9d-aaae-16c121d8ab8f')
        self.vs[10]["mm__"] = """Station_T"""
        self.vs[10]["classtype"] = """station"""
        self.vs[10]["name"] = """sa1"""
        self.vs[10]["GUID__"] = UUID('23c037a4-a45f-42ba-9e8f-e6484f51543b')
        self.vs[11]["mm__"] = """Station_T"""
        self.vs[11]["classtype"] = """station"""
        self.vs[11]["name"] = """sa2"""
        self.vs[11]["GUID__"] = UUID('620e643e-3ff8-4bd8-87ed-e3b793e7bd2a')
        self.vs[12]["mm__"] = """Station_S"""
        self.vs[12]["classtype"] = """station"""
        self.vs[12]["name"] = """sm1"""
        self.vs[12]["GUID__"] = UUID('10b45db7-a22f-42b4-933b-400e3befabea')
        self.vs[13]["mm__"] = """Station_S"""
        self.vs[13]["classtype"] = """station"""
        self.vs[13]["name"] = """sm2"""
        self.vs[13]["GUID__"] = UUID('fd5096a0-58fb-49fc-a364-3e1ef2be676f')
        self.vs[14]["mm__"] = """apply_contains"""
        self.vs[14]["GUID__"] = UUID('268319d3-fcce-4d48-b5af-69de70a02f39')
        self.vs[15]["mm__"] = """apply_contains"""
        self.vs[15]["GUID__"] = UUID('e00edf4c-132d-48d2-aaed-172db55a6665')
        self.vs[16]["mm__"] = """apply_contains"""
        self.vs[16]["GUID__"] = UUID('927f71e4-7efa-4311-b35c-17a0f47ec53a')
        self.vs[17]["mm__"] = """apply_contains"""
        self.vs[17]["GUID__"] = UUID('08c381d6-b077-4d14-9b2c-c364347b4195')
        self.vs[18]["mm__"] = """match_contains"""
        self.vs[18]["GUID__"] = UUID('0341381a-590f-4f55-90bb-4f840099efa5')
        self.vs[19]["mm__"] = """match_contains"""
        self.vs[19]["GUID__"] = UUID('3ff41a7b-72d0-474b-9ad5-efa3b09e88f7')
        self.vs[20]["mm__"] = """match_contains"""
        self.vs[20]["GUID__"] = UUID('e0cdc868-8139-45b2-88f3-13a76f394dc4')
        self.vs[21]["mm__"] = """match_contains"""
        self.vs[21]["GUID__"] = UUID('016cd8b2-80cb-46a5-adce-cc7d3af295de')

